[USER (data scientist)]: Lastly, let's find confidence intervals for the average win/loss ratio for each court surface, so at first calculate the mean and standard error of the mean for the average win/loss ratio for each surface type. Please generate the code with the output in [value, value, value, value, value, value] type.
My template of code snippet is:

---BEGIN CODE TEMPLATE---

import pandas as pd
import scipy.stats as stats
import pickle
from decision_company import read_csv_file, df_copy, dropna, get_dummies, corr, f_oneway, avg, sem, t_ppf

atp_tennis = read_csv_file('atp_tennis.csv')

# YOUR SOLUTION BEGIN:
<code1>
[GENERATE YOUR CODE]
</code1>
# YOUR SOLUTION END

print(hard_mean)

# save data
pickle.dump(hard_mean,open("./ref_result/hard_mean.pkl","wb"))

# YOUR SOLUTION BEGIN:
<code2>
[GENERATE YOUR CODE]
</code2>
# YOUR SOLUTION END

print(hard_sem)

# save data
pickle.dump(hard_sem,open("./ref_result/hard_sem.pkl","wb"))

# YOUR SOLUTION BEGIN:
<code3>
[GENERATE YOUR CODE]
</code3>
# YOUR SOLUTION END

print(clay_mean)

# save data
pickle.dump(clay_mean,open("./ref_result/clay_mean.pkl","wb"))

# YOUR SOLUTION BEGIN:
<code4>
[GENERATE YOUR CODE]
</code4>
# YOUR SOLUTION END

print(clay_sem)

# save data
pickle.dump(clay_sem,open("./ref_result/clay_sem.pkl","wb"))

# YOUR SOLUTION BEGIN:
<code5>
[GENERATE YOUR CODE]
</code5>
# YOUR SOLUTION END

print(grass_mean)

# save data
pickle.dump(grass_mean,open("./ref_result/grass_mean.pkl","wb"))

# YOUR SOLUTION BEGIN:
<code6>
[GENERATE YOUR CODE]
</code6>
# YOUR SOLUTION END

print(grass_sem)

# save data
pickle.dump(grass_sem,open("./ref_result/grass_sem.pkl","wb"))

---END CODE TEMPLATE---

[YOU (AI assistant)]: Here's the code to get those stats for each court surface: 

# MY SOLUTION BEGIN:
